Uitwisselprofiel RIVM Infectieziektenbestrijding

Over Uitwisselprofiel RIVM Infectieziektenbestrijding


Publicatiedatum:
08-09-2026

Inwerkingtreding:
09-09-2026

10.2 Hoeveel cliënten per leeftijdsgroep wonen er op de vestiging?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: RIVM Infectieziektenbestrijding 10.2
2# Canonical id: MONO-0009 - "Hoeveel cliënten per leeftijdsgroep wonen er op de vestiging?"
3# Parameters:
4# Ontologie: versie 3.0.0 of nieuwer
5
6PREFIX onz-g: <http://purl.org/ozo/onz-g#>
7PREFIX onz-org: <http://purl.org/ozo/onz-org#>
8PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
9PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
10
11SELECT
12(?vestiging AS ?Indeling)
13(SUM(?6064) AS ?Leeftijd_60_64)
14(SUM(?6569) AS ?Leeftijd_65_69)
15(SUM(?7074) AS ?Leeftijd_70_74)
16(SUM(?7579) AS ?Leeftijd_75_79)
17(SUM(?8084) AS ?Leeftijd_80_84)
18(SUM(?8589) AS ?Leeftijd_85_89)
19(SUM(?9094) AS ?Leeftijd_90_94)
20(SUM(?9599) AS ?Leeftijd_95_99)
21(SUM(?100p) AS ?Leeftijd_100_plus)
22WHERE {
23    {
24        SELECT DISTINCT ?vestiging ?bewoner ?leeftijd
25        WHERE {
26            # Stap 1: Selecteer alle wooneenheden
27            ?wooneenheid a onz-org:WoonEenheid .
28
29            # Stap 4: Bepaal bewoners via bezettingskwaliteit
30            ?wooneenheid onz-g:hasQuality ?quality .
31            ?quality
32            a onz-g:OccupancyQuality ;
33            onz-g:hasQualityValue ?quality_value .
34            ?quality_value
35            a onz-g:OccupancyValue ;
36            onz-g:hasOccupancyObject ?bewoner .
37
38            ?bewoner
39            a onz-g:Human ;
40            onz-g:hasDateOfBirth ?geboortedatum .
41
42            # Leeftijd berekenen op vandaag
43            BIND(YEAR(NOW()) - YEAR(?geboortedatum) AS ?leeftijd_voorl)
44            BIND(IF(MONTH(?geboortedatum) > MONTH(NOW())
45            || (MONTH(?geboortedatum) = MONTH(NOW()) && DAY(?geboortedatum) > DAY(NOW())),
46            ?leeftijd_voorl - 1, ?leeftijd_voorl) AS ?leeftijd)
47
48            {
49                # Per vestiging
50                ?wooneenheid onz-g:partOf ?locatie .
51                ?locatie
52                a onz-g:StationaryArtifact ;
53                onz-g:partOf* ?vestiging_uri .
54                ?vestiging_uri a onz-org:Vestiging ;
55                onz-g:identifiedBy ?vest_nr .
56                ?vest_nr a onz-org:Vestigingsnummer ;
57                onz-g:hasDataValue ?vestiging .
58            }
59            UNION
60            {
61                # Totaal organisatie
62                BIND("Totaal organisatie" AS ?vestiging)
63            }
64        }
65    }
66
67    # Leeftijdscategorieën (zoals ActiZ 2.9)
68    BIND(IF(?leeftijd >= 60 && ?leeftijd <= 64, 1, 0) AS ?6064)
69    BIND(IF(?leeftijd >= 65 && ?leeftijd <= 69, 1, 0) AS ?6569)
70    BIND(IF(?leeftijd >= 70 && ?leeftijd <= 74, 1, 0) AS ?7074)
71    BIND(IF(?leeftijd >= 75 && ?leeftijd <= 79, 1, 0) AS ?7579)
72    BIND(IF(?leeftijd >= 80 && ?leeftijd <= 84, 1, 0) AS ?8084)
73    BIND(IF(?leeftijd >= 85 && ?leeftijd <= 89, 1, 0) AS ?8589)
74    BIND(IF(?leeftijd >= 90 && ?leeftijd <= 94, 1, 0) AS ?9094)
75    BIND(IF(?leeftijd >= 95 && ?leeftijd <= 99, 1, 0) AS ?9599)
76    BIND(IF(?leeftijd >= 100, 1, 0) AS ?100p)
77}
78GROUP BY ?vestiging
79ORDER BY ?vestiging
80